package online.inote.common.base;

import java.io.Serializable;
import java.util.UUID;

import javax.persistence.Id;

import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import lombok.Data;

/**
 * <p>
 * Desc: 数据库主键ID(所有继承此类的对应的数据库表都要求有ID字段, 且为主键)
 * </p>
 *
 * @author Sui
 * @created: 2017年12月2日 下午11:26:25
 * @version 1.0
 */
@Data
public class IdEntity implements Serializable {

	private static final long serialVersionUID = 5021392748236164942L;
	
	@Id
	@org.springframework.data.annotation.Id
	@Field(type = FieldType.Keyword)
    protected String id;

	public String generateId() {
		this.setId(UUID.randomUUID().toString());
    	return this.getId();
    }
}